﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace Modulo.Seguridad.Base
{
    public partial class WFASeguridad : TDV.Controles.Base.WinForm.BaseForm_Tipo03
    {
        public WFASeguridad()
        {
            InitializeComponent();
        }

        private void WFASeguridad_Load(object sender, EventArgs e)
        {
            PanelIzquierdo.Visible = false;
            CargarPerfiles();
        }
        protected void CargarPerfiles()
        {
            GrdPerfiles.DataSource = null;
            LBPerfil perfil = new LBPerfil();
            perfil.Buscar();
            if (perfil.Count > 0)
            {
                GrdPerfiles.DataSource = perfil;
            }
            PanelSubTitulo.Texto = string.Format("Se encontraron {0} registro(s)",perfil.Count);
        }

        private void TsbSalir_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void Tsbusuarios_Click(object sender, EventArgs e)
        {
            WFAUsuarios user = new WFAUsuarios();
            user.Show();

        }

        private void TsbPerfiles_Click(object sender, EventArgs e)
        {
            WFAPerfiles perfil = new WFAPerfiles();
            if (perfil.ShowDialog() == DialogResult.OK)
            {
                CargarPerfiles();
            }
        }

        private void TsbOpciones_Click(object sender, EventArgs e)
        {
            WFModuloxOpcion op = new WFModuloxOpcion();
            if (op.ShowDialog() == DialogResult.OK)
            {
                CargarAccesos();
            }
        }

        private void TsbAgregarForm_Click(object sender, EventArgs e)
        {
            WFPerfilesxOpcion ad = new WFPerfilesxOpcion(GrdPerfiles.CurrentRow.Cells["cCodPerf"].Value.ToString());
            ad.ShowDialog();
            if (ad.DialogResult == DialogResult.OK)
            {
                CargarAccesos();
            }
        }

        protected void CargarAccesos()
        {
            LBPerfilxAcceso acceso = new LBPerfilxAcceso();
            acceso.Filtros.CodigoPerfil = GrdPerfiles.CurrentRow.Cells[0].Value.ToString();
            acceso.Filtros.Opcion = "QRY01";
            acceso.Buscar();
            GrdAccesos.DataSource = null;
            if (acceso.Count > 0)
            {
                GrdAccesos.DataSource = acceso;
            }
            PanelSubTituloSecundario.Texto = string.Format("Se encontraron {0} registro(s)", GrdAccesos.Rows.Count);
        }

        private void GrdPerfiles_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            
        }

        private void GrdPerfiles_SelectionChanged(object sender, EventArgs e)
        {
            CargarAccesos();
        }

        private void GrdPerfiles_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            if (e.RowIndex >= 0 && e.ColumnIndex >= 0 && e.Button == MouseButtons.Right)
            {

                GrdPerfiles.Rows[e.RowIndex].Selected = true;
                GrdPerfiles.CurrentCell = GrdPerfiles.Rows[e.RowIndex].Cells[e.ColumnIndex];

                Rectangle r = GrdPerfiles.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, true);

                cmsMenu.Show((Control)sender, r.Left + e.X, r.Top + e.Y);

            }
        }
    }
}
